package com.tt.vertx

import com.tt.vertx.router.customRouter
import com.tt.vertx.router.renderPage
import io.vertx.core.AbstractVerticle
import io.vertx.core.Vertx

class HelloWorlds : AbstractVerticle() {

    companion object { //companion object伴生对象,Kotlin的class并不支持static变量,所以需要使用companion object来声明static变量
        @JvmStatic fun main(args: Array<String>) { //@JvmStatic 将方法定义为main方法
            Vertx.vertx().deployVerticle(HelloWorlds())
        }
    }

    override fun start() {
        val router = customRouter(vertx)
        renderPage(router)
        println("server running on 8888")
        vertx.createHttpServer().requestHandler({ handler -> router.accept(handler) }).listen(8888)
    }
}